package com.product.trace.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.product.common.annotation.Excel;
import com.product.common.core.domain.BaseEntity;

/**
 * 出库商品详情对象 product_out
 *
 * @author ruoyi
 * @date 2022-08-24
 */
public class ProductOut extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 产品出库id
     */
    private Integer id;

    /**
     * 产品名称
     */
    @Excel(name = "产品名称")
    private String commodityName;

    /**
     * 公司id(用来进行多表联查)
     */
    @Excel(name = "公司id(用来进行多表联查)")
    private String companyId;

    /**
     * 产品出库数量
     */
    @Excel(name = "产品出库数量")
    private String commodityNum;

    /**
     * 产品颜色
     */
    @Excel(name = "产品颜色")
    private String commodityColor;
    /**
     * 出品公司
     */
    @Excel(name = "出品公司")
    private String companyName;
    /**
     * 出品公司地址
     */
    private String companyLocation;

    /**
     * 产品重量（kg）
     */
    @Excel(name = "产品重量", readConverterExp = "k=g")
    private Long commodityWeight;

    /**
     * 产品规格（关联字典）
     */
    @Excel(name = "产品规格", readConverterExp = "关=联字典")
    private String commoditySize;

    /**
     * 生产日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date produceDate;

    /** 过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date produceOverdate;

    /** 产品种类（关联字典表） */
    @Excel(name = "产品种类", readConverterExp = "关=联字典表")
    private String commodityType;

    /** 产品状态（关联字典表） */
    @Excel(name = "产品状态", readConverterExp = "关=联字典表")
    private String commodityStatus;

    /** 产品唯一编码 */
    @Excel(name = "产品唯一编码")
    private String commodityUuid;

    /** 出货员ID */
    @Excel(name = "出货员ID")
    private String staffId;

    /** 出货员 */
    @Excel(name = "出货员")
    private String commodityStaff;

    /** 出货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shipTime;

    /** 审核员ID */
    @Excel(name = "审核员ID")
    private String checkId;

    /**
     * 审核员
     */
    @Excel(name = "审核员")
    private String checkStaff;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkTime;

    /**
     * 防伪码
     */
    @Excel(name = "防伪码")
    private String secturityCode;

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setCommodityName(String commodityName) {
        this.commodityName = commodityName;
    }

    public String getCommodityName() {
        return commodityName;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }

    public String getCompanyId() {
        return companyId;
    }

    public void setCommodityNum(String commodityNum) {
        this.commodityNum = commodityNum;
    }

    public String getCommodityNum() {
        return commodityNum;
    }

    public void setCommodityColor(String commodityColor) {
        this.commodityColor = commodityColor;
    }

    public String getCommodityColor() {
        return commodityColor;
    }

    public void setCommodityWeight(Long commodityWeight) {
        this.commodityWeight = commodityWeight;
    }

    public Long getCommodityWeight() {
        return commodityWeight;
    }

    public void setCommoditySize(String commoditySize) {
        this.commoditySize = commoditySize;
    }

    public String getCommoditySize() {
        return commoditySize;
    }

    public void setProduceDate(Date produceDate) {
        this.produceDate = produceDate;
    }

    public Date getProduceDate() {
        return produceDate;
    }

    public void setProduceOverdate(Date produceOverdate) {
        this.produceOverdate = produceOverdate;
    }

    public Date getProduceOverdate() {
        return produceOverdate;
    }

    public void setCommodityType(String commodityType) {
        this.commodityType = commodityType;
    }

    public String getCommodityType() {
        return commodityType;
    }

    public void setCommodityStatus(String commodityStatus) {
        this.commodityStatus = commodityStatus;
    }

    public String getCommodityStatus() {
        return commodityStatus;
    }

    public void setCommodityUuid(String commodityUuid) {
        this.commodityUuid = commodityUuid;
    }

    public String getCommodityUuid() {
        return commodityUuid;
    }

    public void setStaffId(String staffId) {
        this.staffId = staffId;
    }

    public String getStaffId() {
        return staffId;
    }

    public void setCommodityStaff(String commodityStaff) {
        this.commodityStaff = commodityStaff;
    }

    public String getCommodityStaff() {
        return commodityStaff;
    }

    public void setShipTime(Date shipTime) {
        this.shipTime = shipTime;
    }

    public Date getShipTime() {
        return shipTime;
    }

    public void setCheckId(String checkId) {
        this.checkId = checkId;
    }

    public String getCheckId() {
        return checkId;
    }

    public void setCheckStaff(String checkStaff) {
        this.checkStaff = checkStaff;
    }

    public String getCheckStaff() {
        return checkStaff;
    }

    public void setCheckTime(Date checkTime) {
        this.checkTime = checkTime;
    }

    public Date getCheckTime() {
        return checkTime;
    }

    public void setSecturityCode(String secturityCode) {
        this.secturityCode = secturityCode;
    }

    public String getSecturityCode() {
        return secturityCode;
    }

    public String getCompanyLocation() {
        return companyLocation;
    }

    public void setCompanyLocation(String companyLocation) {
        this.companyLocation = companyLocation;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("commodityName", getCommodityName())
                .append("companyId", getCompanyId())
                .append("commodityNum", getCommodityNum())
                .append("commodityColor", getCommodityColor())
                .append("commodityWeight", getCommodityWeight())
                .append("commoditySize", getCommoditySize())
                .append("produceDate", getProduceDate())
                .append("produceOverdate", getProduceOverdate())
                .append("commodityType", getCommodityType())
                .append("commodityStatus", getCommodityStatus())
                .append("commodityUuid", getCommodityUuid())
                .append("staffId", getStaffId())
                .append("commodityStaff", getCommodityStaff())
                .append("shipTime", getShipTime())
                .append("checkId", getCheckId())
                .append("checkStaff", getCheckStaff())
                .append("checkTime", getCheckTime())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("secturityCode", getSecturityCode())
                .append("CompanyName", getCompanyName())
                .append("CompanyLocation", getCompanyLocation())
                .toString();
    }
}
